An auxiliary processor that supplements the main processor by performing a few specific tasks. Although main processors perform a greater variety of tasks, their performance may be slower due to the number of tasks.
Coprocessor architectures favor a certain set of operations, like floating point calculations for graphics instruction looping, and therefore they optimize the speed at which such operations are processed. Other coprocessors perform main system tasks like running alternative operating systems.